package com.ruoyi.procurementmanagement.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 入库单商品明细对象 erp_warehouse_entry_product
 *
 * @author ruoyi
 * @date 2025-06-09
 */
public class ErpWarehouseEntryProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    private Long id;


    @Excel(name = "入库单id")
    private Long warehouseEntryId;


    @Excel(name = "商品id")
    private Long goodsId;


    @Excel(name = "产品id")
    private Long productId;


    @Excel(name = "产品编号")
    private String sn;


    @Excel(name = "产品名称")
    private String name;


    @Excel(name = "产品规格型号")
    private String specification;


    @Excel(name = "产品品牌")
    private String brand;


    @Excel(name = "产品单位")
    private String unit;


    @Excel(name = "产品条形码")
    private String productBarcode;


    @Excel(name = "产品分类id")
    private Long categoryId;


    @Excel(name = "产品分类名称")
    private String categoryName;


    @Excel(name = "合同数量")
    private Long contractNum;


    @Excel(name = "本次入库数量")
    private Long num;


    @Excel(name = "合同单价")
    private BigDecimal contractPrice;


    @Excel(name = "入库总价")
    private BigDecimal totalPrice;


    @Excel(name = "进货单价")
    private BigDecimal costPrice;


    @Excel(name = "税率")
    private BigDecimal taxRate;


    @Excel(name = "退货数量")
    private Long returnNum;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public ErpWarehouseEntryProduct setWarehouseEntryId(Long warehouseEntryId)
    {
        this.warehouseEntryId = warehouseEntryId;
        return null;
    }

    public Long getWarehouseEntryId()
    {
        return warehouseEntryId;
    }
    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setSn(String sn)
    {
        this.sn = sn;
    }

    public String getSn()
    {
        return sn;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }
    public void setBrand(String brand)
    {
        this.brand = brand;
    }

    public String getBrand()
    {
        return brand;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setProductBarcode(String productBarcode)
    {
        this.productBarcode = productBarcode;
    }

    public String getProductBarcode()
    {
        return productBarcode;
    }
    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }
    public void setCategoryName(String categoryName)
    {
        this.categoryName = categoryName;
    }

    public String getCategoryName()
    {
        return categoryName;
    }
    public void setContractNum(Long contractNum)
    {
        this.contractNum = contractNum;
    }

    public Long getContractNum()
    {
        return contractNum;
    }
    public void setNum(Long num)
    {
        this.num = num;
    }

    public Long getNum()
    {
        return num;
    }
    public void setContractPrice(BigDecimal contractPrice)
    {
        this.contractPrice = contractPrice;
    }

    public BigDecimal getContractPrice()
    {
        return contractPrice;
    }
    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }
    public void setCostPrice(BigDecimal costPrice)
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice()
    {
        return costPrice;
    }
    public void setTaxRate(BigDecimal taxRate)
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate()
    {
        return taxRate;
    }
    public void setReturnNum(Long returnNum)
    {
        this.returnNum = returnNum;
    }

    public Long getReturnNum()
    {
        return returnNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("warehouseEntryId", getWarehouseEntryId())
            .append("goodsId", getGoodsId())
            .append("productId", getProductId())
            .append("sn", getSn())
            .append("name", getName())
            .append("specification", getSpecification())
            .append("brand", getBrand())
            .append("unit", getUnit())
            .append("productBarcode", getProductBarcode())
            .append("categoryId", getCategoryId())
            .append("categoryName", getCategoryName())
            .append("contractNum", getContractNum())
            .append("num", getNum())
            .append("contractPrice", getContractPrice())
            .append("totalPrice", getTotalPrice())
            .append("costPrice", getCostPrice())
            .append("taxRate", getTaxRate())
            .append("returnNum", getReturnNum())
            .toString();
    }
}
